<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Помощник-виджет для отрисовки списка последних комментариев
 *
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */

/**
 * Отрисовка виджета
 * 
 * @access public
 * @param string $str
 * @return string
 */
function comments_widget($params = array()) {
   $obj =& get_instance();
   
   // Количество записей
   $count = 0;
   if (isset($params['count'])) {
      $count = (int) $params['count'];
   }
   
   // Подключаем библиотеку кеша
   $key = 'comments-' . $count;
   //$obj->load->library('cache', array('default_ttl' => 300));
   
   // Проверяем в кеше
   $items = array();
   if (true/*!$obj->cache->is_cached($key, 'widgets')*/) {
      // Получаем комментарии
      $obj->db->select('v.id_video, v.title, v.orig_title, v.year, vc.author, vc.comment, vc.date_created')
         ->from('video_comments vc')
         ->join('videos v', 'vc.id_video = v.id_video')
         ->where('v.status', 'active')
         ->where('v.num_torrents >', 0)
         ->where('vc.status', 'active')
         ->group_by('vc.id_comment')
         ->order_by('vc.date_created', 'desc');
      if (0 < $count) {
         $obj->db->limit($count);
      }
      $query = $obj->db->get();
      if (0 < $query->num_rows()) {
         $items = array();
         $obj->load->helper('text');
         foreach ($query->result_array() as $row) {
            if (!empty($row['orig_title'])) {
               $row['title'] .= ' / ' . $row['orig_title'];
            }
            if (!empty($row['year'])) {
               $row['title'] .= ' (' . $row['year'] . ')';
            }
            $row['comment'] = character_limiter(strip_tags($row['comment']), 200);
            $date = new DateTime($row['date_created']);
            $row['date_created'] = $date->format('d.m.Y H:i:s');
            array_push($items, $row);
         }
         //$obj->cache->save($key, $items, 'widgets');
      }
   } else {
      //$items = $obj->cache->get($key, 'widgets');
   }
   
   $output = '';
   if (0 < count($items)) {
      $data = array(
         'items' => $items
      );
      $output = $obj->parser->parse('widgets/comments/body.html', $data, true);
   }
   return $output;
} // end genres_widget
